﻿using Common.Enums;

namespace GameCommon.Base
{
    public interface IScreenChanger
    {
        /// <summary>
        /// Adds passed screen
        /// </summary>
        /// <param name="screen"></param>
        /// <param name="argument"></param>
        IScreen AddScreen(ScreenEnum screen, object argument = null);

        /// <summary>
        /// Removes passed screen
        /// </summary>
        /// <param name="screen"></param>
        void RemoveScreen(ScreenEnum screen);

        /// <summary>
        /// Removes any Screen, except that passed one
        /// </summary>
        void RemoveAnyScreen();
    }
}